package com.yenchingcheng.entity;

/**
 * @Author Yenchingcheng
 * @Date 2023/6/29 10:36
 * @Description 出租多功能载具类（适配器）
 * 1.适配器内依赖了多功能载具类接口，适配器实现了载具类接口
 * 2.重写构造器方法，根据传入的载具类型，创建对应的多功能载具对象
 * 3.重写了载具类的出租方法，根据传入的载具类型，调用对应的多功能载具出租方法
 **/
public class RentMultiVehicle implements Vehicle{

    private MultifunctionalVehicle mVehicle;

    public RentMultiVehicle(String carType) {
        if(carType.equalsIgnoreCase("fly")){
            mVehicle = new AirCar();
        }else if(carType.equalsIgnoreCase("swim")){
            mVehicle = new ShipCar();
        }
    }

    @Override
    public void rentCar(String carType) {
        if(carType.equalsIgnoreCase("fly")){
            mVehicle.rentFlyCar();
        }else if(carType.equalsIgnoreCase("swim")){
            mVehicle.rentSwimCar();
        }
    }
}
